Skip to content

Conversation

@ignatandrei
Copy link
Owner

@ignatandrei ignatandrei commented Dec 15, 2025

Summary by CodeRabbit

  • New Features

    • Added docopt.net as the 248th Roslyn Source Code Generator example in the collection.
    • Includes comprehensive documentation and guided walkthrough for command-line parser generation from usage specifications.
  • Documentation

    • Updated example count references throughout documentation.
    • Added author profile and category documentation for the new entry.

✏️ Tip: You can customize this high-level summary in your review settings.

@coderabbitai
Copy link

coderabbitai bot commented Dec 15, 2025

Walkthrough

This pull request adds docopt.net as the 248th RSCG example, bumping the overall project count from 247 to 248 across documentation and data files. Comprehensive example files, metadata, and documentation pages are created for docopt.net, including C# project structure, configuration, and detailed usage documentation.

Changes

Cohort / File(s) Summary
Core Documentation Updates
README.md, later.md, v2/rscg_examples_site/docs/about.md
Updated project count from 247 to 248 and latest update date from 2025-12-14 to 2025-12-15 throughout
docopt.net Example Metadata
v2/rscg_examples/docopt.net/description.json, v2/rscg_examples/docopt.net/nuget.txt, v2/rscg_examples/docopt.net/readme.txt, v2/RSCGExamplesData/GeneratorDataRec.json
Added metadata, documentation, and data records for docopt.net generator with ID, category, and timestamps
docopt.net Example Project Structure
v2/rscg_examples/docopt.net/src/ConsoleArgs.slnx, v2/rscg_examples/docopt.net/src/ConsoleArgs/ConsoleArgs.csproj, v2/rscg_examples/docopt.net/src/ConsoleArgs/Program.cs, v2/rscg_examples/docopt.net/src/ConsoleArgs/Program.docopt.txt
Created minimal C# project structure with console app configuration, docopt specification file, and startup code
Code Tour and Video
v2/.tours/docopt.net.tour, v2/rscg_examples/docopt.net/video.json
Added CodeTour guide with step-by-step highlights and orchestrated video playback script
Web Documentation Pages
v2/book/examples/docopt.net.html, v2/book/list.html, v2/book/pandocHTML.yaml
Added HTML documentation page for docopt.net and integrated into book generation pipeline
Category and Index Documentation
v2/rscg_examples_site/docs/Categories/CommandLine.md, v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx, v2/rscg_examples_site/docs/RSCG-Examples/docopt.net.md, v2/rscg_examples_site/docs/RSCG-Examples/index.md
Added docopt.net entry to CommandLine category, reordered entries, added comprehensive MDX documentation page with examples and tabs
Index and Listing Updates
v2/rscg_examples_site/docs/indexRSCG.md, v2/rscg_examples_site/src/components/HomepageFeatures/index.js
Updated count references and added docopt.net to chronological example listings
Author and Export Data
v2/rscg_examples_site/docs/Authors/Atif_Aziz.md, v2/rscg_examples_site/static/exports/RSCG.json
Created author page for Atif Aziz and added docopt.net entry to public data export with metadata

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

  • Multiple files across different systems: 20+ files requiring verification of consistency in naming, counts, and cross-references
  • Data entry verification: Ensure new docopt.net entries in JSON and metadata files match across systems (GeneratorDataRec.json, RSCG.json, documentation pages)
  • Documentation accuracy: Verify code examples, file paths, and project structure in docopt.net example match across tour, HTML, and MDX documentation
  • Navigation and category updates: Confirm CommandLine category count increments correctly and docopt.net appears in all intended listings

Poem

🐰 A lexicon of docopt commands takes flight,
From argv parsing, documentation shines bright,
248 examples strong, we march ahead,
Atif's contribution warmly widespread,
One more RSCG gem, precisely fed! ✨

Pre-merge checks and finishing touches

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title check ❓ Inconclusive The title 'first version' is vague and generic, providing no meaningful information about what the pull request actually changes or introduces. Consider using a descriptive title that reflects the main change, such as 'Add docopt.net as the 248th RSCG example' or 'Add docopt.net example with documentation and tour'.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch docopt.net

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

🧹 Nitpick comments (5)
v2/rscg_examples/docopt.net/nuget.txt (1)

1-3: Drop the stray closing brace in the quick example

There’s an extra } on the last line, which makes the example snippet look malformed even though it’s only documentation.

You can fix it by removing that final brace line:

-docopt.net is the .net version of the docopt python beautiful command line parser.  docopt.net helps you define an interface for your command-line app, and automatically generate a parser for it. docopt.net is based on conventions that have been used for decades in help messages and man pages for program interface description.  Interface description in docopt.net is such a help message, but formalized. Check out http://docopt.org for a more detailed explanation.
-         Quick example:  var arguments = new DocOpt().Apply("Usage: prog [-a] [-b] FILE", args); if (arguments["-a"].IsTrue) { ... }
-          }
+docopt.net is the .net version of the docopt python beautiful command line parser.  docopt.net helps you define an interface for your command-line app, and automatically generate a parser for it. docopt.net is based on conventions that have been used for decades in help messages and man pages for program interface description.  Interface description in docopt.net is such a help message, but formalized. Check out http://docopt.org for a more detailed explanation.
+         Quick example:  var arguments = new DocOpt().Apply("Usage: prog [-a] [-b] FILE", args); if (arguments["-a"].IsTrue) { ... }
README.md (1)

29-52: Tidy the docopt.net snippet and reconcile the DO‑NOT‑TEST list entry

Two small consistency nits around the new docopt.net example:

  1. Quick example extra brace (lines 41–42)
    The docopt.net “Quick example” line already contains both { and }; the following line with an additional } makes the snippet look syntactically wrong, same as in nuget.txt. Consider dropping the redundant brace line:

  • docopt.net is the .net version of the docopt python beautiful command line parser. docopt.net helps you define an interface for your command-line app, and automatically generate a parser for it. docopt.net is based on conventions that have been used for decades in help messages and man pages for program interface description. Interface description in docopt.net is such a help message, but formalized. Check out http://docopt.org for a more detailed explanation.
  •     Quick example:  var arguments = new DocOpt().Apply("Usage: prog [-a] [-b] FILE", args); if (arguments["-a"].IsTrue) { ... }
    
  •      } 
    
  • docopt.net is the .net version of the docopt python beautiful command line parser. docopt.net helps you define an interface for your command-line app, and automatically generate a parser for it. docopt.net is based on conventions that have been used for decades in help messages and man pages for program interface description. Interface description in docopt.net is such a help message, but formalized. Check out http://docopt.org for a more detailed explanation.
  •     Quick example:  var arguments = new DocOpt().Apply("Usage: prog [-a] [-b] FILE", args); if (arguments["-a"].IsTrue) { ... }
    
    
    
  1. docopt.net still listed under “Do not want to test 112 (old ISourceGenerator)” (around lines 6240–6243)
    Now that docopt.net is an official, tested example (no. 248), that entry in the “Do not want to test” section is stale. I’d either remove docopt.net from that list or add a short note indicating it’s now covered in the main examples list.

Also applies to: 6240-6243

v2/rscg_examples/docopt.net/description.json (1)

15-16: Minor: Consider removing empty string entries in arrays.

The excludeDirectoryGenerated and includeAdditionalFiles arrays contain empty string entries. If these fields are unused, consider using empty arrays [] instead for cleaner JSON structure.

Apply this diff if you want to clean up the empty arrays:

-      "excludeDirectoryGenerated":[""],
-      "includeAdditionalFiles":[""]
+      "excludeDirectoryGenerated":[],
+      "includeAdditionalFiles":[]
v2/rscg_examples_site/docs/RSCG-Examples/docopt.net.md (2)

189-192: Minor: Replace hard tabs with spaces in code blocks.

Lines 189-192 contain hard tabs in the XML code block. For consistency with markdown best practices, consider using spaces instead.


29-29: Optional: Consider formatting bare URLs.

Several bare URLs throughout the document (lines 29, 36, 39, 41, 118, etc.) could be formatted in angle brackets <url> for better markdown compliance and rendering consistency.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 3b9209b and 9871b62.

⛔ Files ignored due to path filters (3)
  • v2/Generator/all.csv is excluded by !**/*.csv
  • v2/rscg_examples_site/static/exports/RSCG.xlsx is excluded by !**/*.xlsx
  • v2/rscg_examples_site/static/sources/docopt.net.zip is excluded by !**/*.zip
📒 Files selected for processing (24)
  • README.md (2 hunks)
  • later.md (1 hunks)
  • v2/.tours/docopt.net.tour (1 hunks)
  • v2/RSCGExamplesData/GeneratorDataRec.json (1 hunks)
  • v2/book/examples/docopt.net.html (1 hunks)
  • v2/book/list.html (2 hunks)
  • v2/book/pandocHTML.yaml (1 hunks)
  • v2/rscg_examples/docopt.net/description.json (1 hunks)
  • v2/rscg_examples/docopt.net/nuget.txt (1 hunks)
  • v2/rscg_examples/docopt.net/readme.txt (1 hunks)
  • v2/rscg_examples/docopt.net/src/ConsoleArgs.slnx (1 hunks)
  • v2/rscg_examples/docopt.net/src/ConsoleArgs/ConsoleArgs.csproj (1 hunks)
  • v2/rscg_examples/docopt.net/src/ConsoleArgs/Program.cs (1 hunks)
  • v2/rscg_examples/docopt.net/src/ConsoleArgs/Program.docopt.txt (1 hunks)
  • v2/rscg_examples/docopt.net/video.json (1 hunks)
  • v2/rscg_examples_site/docs/Authors/Atif_Aziz.md (1 hunks)
  • v2/rscg_examples_site/docs/Categories/CommandLine.md (1 hunks)
  • v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx (1 hunks)
  • v2/rscg_examples_site/docs/RSCG-Examples/docopt.net.md (1 hunks)
  • v2/rscg_examples_site/docs/RSCG-Examples/index.md (4 hunks)
  • v2/rscg_examples_site/docs/about.md (1 hunks)
  • v2/rscg_examples_site/docs/indexRSCG.md (2 hunks)
  • v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1 hunks)
  • v2/rscg_examples_site/static/exports/RSCG.json (1 hunks)
🧰 Additional context used
🪛 Biome (2.1.2)
v2/rscg_examples/docopt.net/video.json

[error] 35-36: Property key must be double quoted

(parse)


[error] 36-36: unexpected character =

(parse)


[error] 36-36: expected , but instead found " "

Remove " "

(parse)


[error] 36-36: expected : but instead found }

Remove }

(parse)


[error] 37-38: Expected an array, an object, or a literal but instead found ']'.

Expected an array, an object, or a literal here.

(parse)

🪛 LanguageTool
v2/rscg_examples_site/docs/RSCG-Examples/docopt.net.md

[grammar] ~29-~29: Use a hyphen to join words.
Context: ...n of the docopt python beautiful command line parser. docopt.net helps you defin...

(QB_NEW_EN_HYPHEN)


[style] ~29-~29: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...automatically generate a parser for it. docopt.net is based on conventions that have b...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

v2/rscg_examples/docopt.net/nuget.txt

[grammar] ~1-~1: Use a hyphen to join words.
Context: ...n of the docopt python beautiful command line parser. docopt.net helps you defin...

(QB_NEW_EN_HYPHEN)


[style] ~1-~1: Three successive sentences begin with the same word. Consider rewording the sentence or use a thesaurus to find a synonym.
Context: ...automatically generate a parser for it. docopt.net is based on conventions that have b...

(ENGLISH_WORD_REPEAT_BEGINNING_RULE)

v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx

[style] ~11-~11: Using many exclamation marks might seem excessive (in this case: 10 exclamation marks for a text that’s 1433 characters long)
Context: ...) 2025-12-15 5 TeCLI Nuget ![GitHub Repo stars](https://img.shields....

(EN_EXCESSIVE_EXCLAMATION)

🪛 markdownlint-cli2 (0.18.1)
v2/rscg_examples_site/docs/indexRSCG.md

23-23: Spaces inside link text

(MD039, no-space-in-links)

v2/rscg_examples_site/docs/RSCG-Examples/docopt.net.md

29-29: Bare URL used

(MD034, no-bare-urls)


36-36: Bare URL used

(MD034, no-bare-urls)


39-39: Bare URL used

(MD034, no-bare-urls)


41-41: Bare URL used

(MD034, no-bare-urls)


84-84: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


118-118: Bare URL used

(MD034, no-bare-urls)


128-128: Bare URL used

(MD034, no-bare-urls)


129-129: Bare URL used

(MD034, no-bare-urls)


176-176: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


189-189: Hard tabs
Column: 1

(MD010, no-hard-tabs)


190-190: Hard tabs
Column: 1

(MD010, no-hard-tabs)


191-191: Hard tabs
Column: 1

(MD010, no-hard-tabs)


192-192: Hard tabs
Column: 1

(MD010, no-hard-tabs)


203-203: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


213-213: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)


474-474: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


474-474: Code block style
Expected: indented; Actual: fenced

(MD046, code-block-style)

README.md

40-40: Bare URL used

(MD034, no-bare-urls)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: call-workflow-passing-data / build (24.3.0)
🔇 Additional comments (21)
v2/rscg_examples_site/docs/about.md (1)

8-10: Count bumped to 248 consistently with the rest of the site

The updated number matches the new total examples and other files in this PR.

v2/rscg_examples_site/src/components/HomepageFeatures/index.js (1)

5-8: Homepage hero count correctly updated to 248

Title now reflects the new total examples and stays in sync with docs/README.

later.md (1)

3-4: Latest update date aligned with README

The new date matches the global “Latest Update” in README; no issues.

v2/rscg_examples_site/docs/Categories/_PrimitiveCommandLine.mdx (1)

3-11: docopt.net entry and reordering in CommandLine category look consistent

The new docopt.net row (link, NuGet badge, stars, date) follows the existing pattern, and TeCLI’s move to 5 keeps numbering coherent.

v2/rscg_examples_site/docs/Authors/Atif_Aziz.md (1)

1-7: Author page for Atif Aziz wired correctly to docopt.net

Author name, RSCG count, and the docopt.net entry (with badges and date) are coherent with the rest of the site.

README.md (1)

1-7: Global counters and “Latest Update” correctly bumped to 248 / 2025‑12‑15

The main heading, introductory sentence, and “Latest Update” date are all in sync with the new docopt.net example and the other updated docs.

Also applies to: 25-28

v2/rscg_examples/docopt.net/src/ConsoleArgs/Program.cs (1)

1-2: ConsoleArgs sample correctly surfaces docopt usage

Simple top‑level program that prints ProgramArguments.Usage (with an optional commented‑out Help line) is appropriate for this example; no issues.

v2/rscg_examples_site/docs/Categories/CommandLine.md (1)

3-3: Category list update is correct and well-ordered.

The CommandLine category now includes docopt.net as the newest entry (item 4), with TeCLI correctly repositioned to item 5. The count has been incremented from 4 to 5, and the chronological ordering is maintained.

Also applies to: 11-13

v2/book/pandocHTML.yaml (1)

264-264: Input file entry is correctly formatted and positioned.

The docopt.net example has been properly added to the pandoc input-files list in the correct location and format.

v2/rscg_examples/docopt.net/src/ConsoleArgs.slnx (1)

1-3: Solution descriptor is minimal and correct.

The ConsoleArgs solution properly references the ConsoleArgs.csproj project file with appropriate path resolution.

v2/book/list.html (1)

20-20: List has been correctly incremented to 248 entries with proper row structure.

The docopt.net entry (row 248) is correctly added with accurate numbering, link formatting, and chronological ordering relative to adjacent entries.

Also applies to: 1017-1020

v2/rscg_examples/docopt.net/src/ConsoleArgs/ConsoleArgs.csproj (2)

13-16: Compiler-generated files configuration is appropriately set.

EmitCompilerGeneratedFiles is enabled and directed to a GX subdirectory under the intermediate output path, which is the standard pattern for RSCG examples in this repository.


5-5: No action needed. The project correctly targets net10.0 (released November 11, 2025) and uses docopt.net 0.8.1 (available on NuGet). Both versions are currently available and valid.

v2/rscg_examples_site/docs/indexRSCG.md (1)

10-10: Count increment is correct and consistently applied.

Both the heading (line 10) and introductory sentence (line 12) have been updated from 247 to 248, reflecting the addition of docopt.net as the newest RSCG example.

Also applies to: 12-12

v2/RSCGExamplesData/GeneratorDataRec.json (1)

1501-1506: Generator data entry is properly structured and consistent.

The docopt.net entry in GeneratorDataRec.json follows the established schema with correct ID, Category (32 for CommandLine), date, and visibility flag. The JSON structure is valid and consistent with surrounding entries.

v2/rscg_examples/docopt.net/readme.txt (1)

1-101: Documentation is comprehensive and properly formatted.

The readme provides a clear overview of docopt.net, includes a practical usage example, installation instructions, and proper copyright/license attribution. The documentation aligns with the pattern used for other RSCG examples.

v2/rscg_examples/docopt.net/src/ConsoleArgs/Program.docopt.txt (1)

1-12: LGTM! Docopt specification is well-formed.

The usage specification follows docopt conventions correctly with clear command definitions, arguments, and options.

v2/book/examples/docopt.net.html (1)

1-59: LGTM! HTML documentation structure is correct.

The documentation page follows the standard format for RSCG examples with appropriate sections for info, author, usage instructions, and download links.

v2/.tours/docopt.net.tour (1)

1-36: LGTM! CodeTour configuration is properly structured.

The tour steps correctly reference the project files and generated source, with appropriate descriptions for walking through the docopt.net example.

v2/rscg_examples_site/static/exports/RSCG.json (1)

1981-1988: LGTM! Export entry is correctly formatted.

The new docopt.net entry follows the established structure with all required fields (Name, Link, NuGet, Source, Category, AddedOn) and is properly positioned as entry 248.

v2/rscg_examples_site/docs/RSCG-Examples/index.md (1)

3-4: LGTM! Index correctly updated for 248 examples.

All changes appropriately reflect the addition of docopt.net:

  • Title and description updated to reflect 248 total examples
  • CommandLine category count incremented from 4 to 5
  • New docopt.net link added to CommandLine section
  • Mermaid diagram updated with new edge

Also applies to: 278-278, 299-303, 1641-1642


| No | Name | Date | Category |
| --------- | ----- | ---- | -------- |
|248| [docopt.net by Atif Aziz ](/docs/docopt.net)|2025-12-15 => 15 December 2025 | [CommandLine](/docs/Categories/CommandLine) |
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix markdown link formatting to comply with linting rules.

Line 23 has a space inside the link text ([docopt.net by Atif Aziz ]) which violates the MD039 rule (no-space-in-links). Remove the space before the closing bracket to match the pattern used in surrounding entries.

-|248| [docopt.net by Atif Aziz ](/docs/docopt.net)|2025-12-15 => 15 December 2025 | [CommandLine](/docs/Categories/CommandLine) |
+|248| [docopt.net by Atif Aziz](/docs/docopt.net)|2025-12-15 => 15 December 2025 | [CommandLine](/docs/Categories/CommandLine) |
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
|248| [docopt.net by Atif Aziz ](/docs/docopt.net)|2025-12-15 => 15 December 2025 | [CommandLine](/docs/Categories/CommandLine) |
|248| [docopt.net by Atif Aziz](/docs/docopt.net)|2025-12-15 => 15 December 2025 | [CommandLine](/docs/Categories/CommandLine) |
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

23-23: Spaces inside link text

(MD039, no-space-in-links)

🤖 Prompt for AI Agents
In v2/rscg_examples_site/docs/indexRSCG.md around line 23, the markdown link
text contains an extra space before the closing bracket ("[docopt.net by Atif
Aziz ]"), violating MD039; remove the trailing space so the link text reads
"[docopt.net by Atif Aziz]" (keeping the rest of the row unchanged) to comply
with linting.

Comment on lines +35 to +37
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

Critical: Fix JSON syntax error.

Lines 35-37 contain a malformed JSON structure. The SpeakTest property appears outside of the object definition, causing parse errors.

Apply this diff to fix the syntax error:

-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-",
-SpeakTest=" "},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-"},

If SpeakTest is needed, it should be inside the object:

-{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-",
-SpeakTest=" "},
+{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-", "SpeakTest":" "},
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-",
SpeakTest=" "},
{"typeStep":"waitseconds","arg":"30"},
{"typeStep":"browser","arg":"https://ignatandrei.github.io/RSCG_Examples/v2/docs/docopt.net#download-example-net--c-", "SpeakTest":" "},
{"typeStep":"waitseconds","arg":"30"},
🧰 Tools
🪛 Biome (2.1.2)

[error] 35-36: Property key must be double quoted

(parse)


[error] 36-36: unexpected character =

(parse)


[error] 36-36: expected , but instead found " "

Remove " "

(parse)


[error] 36-36: expected : but instead found }

Remove }

(parse)

🤖 Prompt for AI Agents
In v2/rscg_examples/docopt.net/video.json around lines 35 to 37, the JSON is
malformed because the SpeakTest property appears outside the object literal; fix
by placing "SpeakTest" as a key inside the preceding object (or remove it if
unused), ensuring the object uses proper JSON syntax (quotes around property
name, colon and value) and that items are comma-separated correctly so the array
remains valid.

@ignatandrei ignatandrei merged commit 4fd7752 into main Dec 15, 2025
3 checks passed
@ignatandrei ignatandrei deleted the docopt.net branch December 15, 2025 18:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants